home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / WWW / TABLE.ZIP / !Table2HTM / ShellData < prev    next >
Text File  |  1997-03-17  |  7KB  |  357 lines

  1. Table2HTML
  2. !Table2htm
  3. Table2HTML
  4. 0
  5. 1
  6. 6
  7. Convert files to HTML
  8. © Victor Markwart
  9. 0.03 (16-Feb-1997)
  10. 0
  11. ***
  12. ***
  13. ***
  14. ***
  15. ***
  16. ***
  17.  
  18. iconmenu%
  19. Table2HTML
  20. ...Info    !
  21. ...Options...&menu_klik(1)
  22. ...Quit&CLOSEDOWN
  23. ¤
  24. @
  25.  
  26. menu_klik
  27. button%
  28. 4
  29. IF button%<>2 THEN OPENDIALOGUE(options, 368, 354)
  30. ENDPROC
  31. ¤
  32.  
  33. drag_file
  34. file$,type%
  35. 5
  36.   infile$=file$
  37.   CASE type% OF
  38.   WHEN &DFE : opt_type%=1 : OPENDIALOGUE(saveas%, 148, 254) : REM CSV
  39.   WHEN &FFF : OPENDIALOGUE(saveas%, 148, 254) : REM TEXT
  40.   OTHERWISE
  41.     OPENDIALOGUE(query1, 369, 336)
  42.   ENDCASE
  43. ENDPROC
  44. ¤
  45.  
  46. start_up
  47. ***
  48. 1
  49. 'Icon Definitions
  50. 'Options window: icon numbers
  51. opt_save=0: opt_set=1: opt_cancel=2
  52. opt_csv=5: opt_txt=6: opt_tsv=7
  53. opt_bord=10: opt_head=11: opt_colhead=12: opt_rowhead=13
  54. opt_cols=16: opt_rows=17: opt_off=18
  55. opt_capt_txt=19: opt_capt=20
  56.  
  57. 'Huh
  58. q1_cont=0: q1_cancel=1
  59.  
  60. 'Saveas
  61. sav_ok=2: sav_name=1
  62.  
  63. 'Global variables
  64. tab%=9
  65. lf%=10
  66. cr%=13
  67. space%=32
  68. quote%=34
  69. quote$=CHR$(quote%)
  70. comma%=44
  71. DIM td%(4)
  72. DIM td$(4)
  73.  
  74. ON ERROR LOCAL: CLOSE#in% : PROCdefault : ENDPROC
  75. in%=OPENIN(taskdir$+".Options")
  76. INPUT#in%, name$
  77. IF name$<>"Table2HTML" THEN
  78.   opt_type%=1
  79.   opt_bord%=1
  80.   opt_head%=0
  81.   opt_colhead%=0
  82.   opt_rowhead%=0
  83.   opt_span%=3
  84.   opt_capt%=0
  85.   opt_capt$=""
  86.   
  87. ELSE
  88.   INPUT#in%, opt_type%
  89.   INPUT#in%, opt_bord%
  90.   INPUT#in%, opt_head%
  91.   INPUT#in%, opt_colhead%
  92.   INPUT#in%, opt_rowhead%
  93.   INPUT#in%, opt_span%
  94.   INPUT#in%, opt_capt%
  95.   INPUT#in%, opt_capt$
  96. ENDIF
  97. CLOSE#in%
  98.   opt_tail%=opt_head%
  99. SETSTATE(options, 4+opt_type%,1)
  100. SETSTATE(options, opt_bord, opt_bord%)
  101. SETSTATE(options, opt_head, opt_head%)
  102. SETSTATE(options, opt_colhead, opt_colhead%)
  103. SETSTATE(options, opt_rowhead, opt_rowhead%)
  104. SETSTATE(options, 15+opt_span%, 1)
  105. SETSTATE(options, opt_capt, opt_capt%)
  106. SETICON(options, opt_capt_txt, opt_capt$)
  107. ENDPROC
  108. ¤
  109.  
  110. win_klik
  111. window%,icon%,button%
  112. 10
  113.   IF window%=options THEN
  114.     CASE icon% OF
  115.       WHEN opt_cancel: CLOSEWINDOW(options)
  116.       WHEN opt_set:
  117.         opt_type%=GROUPSTATE(options, 1)-4
  118.         PROCtype
  119.         opt_bord%=READSTATE(options, opt_bord)
  120.         opt_head%=READSTATE(options, opt_head)
  121.         opt_colhead%=READSTATE(options, opt_colhead)
  122.         opt_rowhead%=READSTATE(options, opt_rowhead)
  123.         opt_span%=GROUPSTATE(options, 2)-15
  124.         opt_capt%=READSTATE(options, opt_capt)
  125.         opt_capt$=READICON(options, opt_capt_txt)
  126.         CLOSEWINDOW(options)
  127.       WHEN opt_save:
  128.         opt_type%=GROUPSTATE(options, 1)-4
  129.         PROCtype
  130.         opt_bord%=READSTATE(options, opt_bord)
  131.         opt_head%=READSTATE(options, opt_head)
  132.         opt_colhead%=READSTATE(options, opt_colhead)
  133.         opt_rowhead%=READSTATE(options, opt_rowhead)
  134.         opt_span%=GROUPSTATE(options, 2)-15
  135.         opt_capt%=READSTATE(options, opt_capt)
  136.         opt_capt$=READICON(options, opt_capt_txt)
  137.         out%=OPENOUT(taskdir$ + ".Options")
  138.         PRINT#out%, "Table2HTML"
  139.         PRINT#out%, opt_type%
  140.         PRINT#out%, opt_bord%
  141.         PRINT#out%, opt_head%
  142.         PRINT#out%, opt_colhead%
  143.         PRINT#out%, opt_rowhead%
  144.         PRINT#out%, opt_span%
  145.         PRINT#out%, opt_capt%
  146.         PRINT#out%, opt_capt$
  147.         CLOSE#out%
  148.         CLOSEWINDOW(options)
  149.     ENDCASE
  150.     opt_tail%=opt_head%
  151.   ENDIF
  152.   IF window%=query1 THEN
  153.     CASE icon% OF
  154.     WHEN q1_cancel : CLOSEWINDOW(query1)
  155.     WHEN q1_cont : CLOSEWINDOW(query1) : OPENDIALOGUE(saveas%, 148, 254)
  156.     ENDCASE
  157.   ENDIF
  158.  
  159. ENDPROC
  160. ¤
  161.  
  162. convert_file
  163. file$
  164. 9
  165.   
  166.   td$(1)="<td>"
  167.   td$(2)="</td>"
  168.   td$(3)="<th>"
  169.   td$(4)="</th>"
  170.   crlf$=CHR$(13) + CHR$(10)
  171.   newtable%=TRUE  : REM Start new table
  172.   newrow%=TRUE    : REM Start new row
  173.   newcell%=TRUE   : REM Start new cell
  174.   endcell%=FALSE  : REM We haven't started yet
  175.   endrow%=FALSE
  176.   endtable%=FALSE
  177.   colcount%=0
  178.   rowcount%=0
  179.   action%=0       : REM 4 endtable% : 2 endrow% : 1 endcell%
  180.   space=0
  181.   lastaction%=7   : REM 4 endtable% ¦ 2 endrow% ¦ 1 endcell%
  182.   td%(1)=1 : td%(2)=2 : td%(3)=1 : td%(4)=2
  183.   flg_ctrl=0 : REM Flag for unwanted control characters
  184.   HOURON
  185.   
  186.   in%=OPENIN(infile$)
  187.   out%=OPENOUT(file$)
  188.  
  189.   IF (opt_head% <> 0) THEN PROCoutput_head
  190.   BPUT#out%, "<!--Created by Table2HTML © Victor Markwart 1997 --!>"
  191.   BPUT#out%, "<!--Written using WimpWorks by Jaffa Software --!>"
  192.   BPUT#out%, "<table";
  193.   IF (opt_bord%<>FALSE) THEN BPUT#out%, " border";
  194.   BPUT#out%, ">"
  195.   IF (opt_capt%<>FALSE) THEN
  196.     BPUT#out%, "<caption=";
  197.     BPUT#out%, quote$;
  198.     BPUT#out%, opt_capt$;
  199.     BPUT#out%, quote$;
  200.     BPUT#out%, ">"
  201.   ENDIF
  202.  
  203.   WHILE NOT EOF#(in%)
  204.     inchar%=BGET#in%
  205.  
  206.     IF (lastaction%>0) THEN
  207.       IF ((lastaction% AND 2)=2) THEN
  208.         BPUT#out%, "<tr>";
  209.         rowcount%+=1
  210.         colcount%=0
  211.         IF (opt_rowhead% <>0) THEN
  212.           td%(1)=3 : td%(2)=4 : td%(3)=1 : td%(4)=2
  213.         ELSE
  214.           td%(1)=1 : td%(2)=2 : td%(3)=1 : td%(4)=2
  215.         ENDIF
  216.         IF (rowcount%<2) THEN
  217.           IF (opt_colhead%<>0) THEN
  218.             td%(1)=3 : td%(2)=4 : td%(3)=3 : td%(4)=4
  219.           ENDIF
  220.         ENDIF
  221.       ENDIF
  222.       IF ((lastaction% AND 1)=1) THEN
  223.         colcount%+=1
  224.  
  225.         IF (colcount% < 2) THEN
  226.           BPUT#out%, td$(td%(1));
  227.         ELSE
  228.           BPUT#out%, td$(td%(3));
  229.         ENDIF
  230.       ENDIF
  231.     ENDIF
  232.  
  233.     CASE inchar% OF
  234.     WHEN tab% :
  235.       IF opt_tsv THEN action%=action% OR 1
  236.     WHEN comma% :
  237.       IF opt_csv THEN action%=action% OR 1
  238.     WHEN space% :
  239.       IF opt_txt THEN
  240.         space+=1
  241.         IF space>1 THEN inchar%=0
  242.         IF space=2 THEN action%=action% OR 1
  243.       ENDIF
  244.     WHEN lf%, cr%:
  245.       action%=action% OR 3
  246.     OTHERWISE
  247.       space=0
  248.     ENDCASE
  249.     
  250.     IF (action%>0) THEN
  251.       inchar%=0
  252.       IF ((action% AND 1)=1) THEN
  253.         IF (colcount%<2) THEN
  254.           BPUT#out%, td$(td%(2))
  255.         ELSE
  256.           BPUT#out%, td$(td%(4))
  257.         ENDIF
  258.       ENDIF
  259.       IF ((action% AND 2)=2) THEN BPUT#out%, "</tr>"
  260.     ELSE
  261.    
  262.       IF (space>1) THEN action%=action% OR 1: space=0
  263.  
  264.       IF (inchar%<>quote%) THEN BPUT#out%, inchar%
  265.  
  266.     ENDIF
  267.     lastaction%=action%
  268.     action%=0 
  269.   ENDWHILE
  270.  
  271.   BPUT#out%, "</table>"
  272.  
  273.   IF (opt_tail% <> 0) THEN PROCoutput_tail
  274.   CLOSE#in%
  275.   CLOSE#out%
  276.   SYS "XOS_CLI","Settype "+file$+" FAF"
  277.   HOUROFF
  278. ENDPROC
  279. ¤
  280.  
  281. output_head
  282. ***
  283. 0
  284. BPUT#out%, "<html>"
  285. BPUT#out%, "<head>"
  286. BPUT#out%, "<title>";
  287. temp$ = LEAFNAME(infile$)
  288. BPUT#out%, temp$;
  289. BPUT#out%, "</title>"
  290. BPUT#out%, "</head>"
  291. BPUT#out%, "<body>"
  292. BPUT#out%, "<a name=";
  293. BPUT#out%, CHR$(34);
  294. BPUT#out%, "top";
  295. BPUT#out%, CHR$(34);
  296. BPUT#out%, ">"
  297. BPUT#out%, "<hr>" 
  298. ENDPROC
  299. ¤
  300.  
  301. output_tail
  302. ***
  303. 0
  304. BPUT#out%, "<hr>"
  305. BPUT#out%, "<a href=";
  306. BPUT#out%, CHR$(34);
  307. BPUT#out%, "#top";
  308. BPUT#out%, CHR$(34);
  309. BPUT#out%, ">Back to top</a><br>"
  310. BPUT#out%, "</body>"
  311. BPUT#out%, "</html>"
  312. ENDPROC
  313. ¤
  314.  
  315. type
  316. ***
  317. 0
  318. opt_csv%=FALSE
  319. opt_txt%=FALSE
  320. opt_tsv%=FALSE
  321. CASE opt_type% OF
  322. WHEN 1 : opt_csv%=TRUE
  323. WHEN 2 : opt_txt%=TRUE
  324. WHEN 3 : opt_tsv%=TRUE
  325. OTHERWISE
  326. WARNING("Not sure which filetype to use", "Table2HTML")
  327. ENDCASE
  328. ENDPROC
  329. ¤
  330.  
  331. default
  332. ***
  333. 0
  334.   opt_type%=1
  335.   opt_bord%=1
  336.   opt_head%=0
  337.   opt_colhead%=0
  338.   opt_rowhead%=0
  339.   opt_span%=3
  340.   opt_capt%=0
  341.   opt_capt$=""
  342.   
  343.   'This next bit could be a separate procedure shared with startup
  344.   opt_tail%=opt_head%
  345.   SETSTATE(options, 4+opt_type%,1)
  346.   SETSTATE(options, opt_bord, opt_bord%)
  347.   SETSTATE(options, opt_head, opt_head%)
  348.   SETSTATE(options, opt_colhead, opt_colhead%)
  349.   SETSTATE(options, opt_rowhead, opt_rowhead%)
  350.   SETSTATE(options, 15+opt_span%, 1)
  351.   SETSTATE(options, opt_capt, opt_capt%)
  352.   SETICON(options, opt_capt_txt, opt_capt$) 
  353. ENDPROC
  354. ¤
  355. @
  356.  
  357.